package com.java214.elec.controller;

import java.io.PrintWriter;

import javax.annotation.Resource;

import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.java214.elec.entity.ElecCommonMsg;
import com.java214.elec.entity.ElecText;
import com.java214.elec.service.IElecCommonMsgService;
import com.java214.elec.service.IElecTextService;
import com.java214.elec.utils.ValueStackUtils;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;


/**   
*    
* 项目名称：MyEleManagerSys   
* 类名称：ElecCommonMsgController   
* 类描述：   
* 创建人：君无邪   
* 创建时间：2019年11月13日 上午2:12:32   
* 修改备注：  https://www.java214.com 
* @version    1.0
*    
*/ 
@Controller("elecCommonMsgController")
@Scope(value="prototype")
public class ElecCommonMsgController extends BaseController<ElecCommonMsg>{

	/** 
	
	* @Fields serialVersionUID : TODO(用一句话描述这个变量表示什么) 
	
	*/ 
	
	private ElecCommonMsg elecMsg=this.getModel();
	
	@Resource(name=IElecCommonMsgService.SERVICE_NAME)
	private IElecCommonMsgService commonMsgService;
	private static final long serialVersionUID = 4240235579194676940L;


/**
 * 
* @Name: home
* @Description: 运行监控的首页显示
* @Author: 滕一帆（作者）
* @Version: V1.00 （版本号）
* @Date:2019年11月13日 上午2:25:15 
* @Parameters: 无
* @Return: 跳转到system/actingIndex.jsp
 */
	public String home(){
		//查询所有记录
		ElecCommonMsg list = commonMsgService.findElecCommonMsg();
		//将传递的值放入到值栈栈顶	
		ValueStackUtils.setValueStack(list);
		return "home";
	}
	/**
	 * 
	* @Name: save
	* @Description: 保存
	* @Author: 滕一帆（作者）
	* @Version: V1.00 （版本号）
	* @Date:2019年11月13日 下午5:49:48 
	* @Parameters: 无
	* @Return: 重定向到system/actingIndex.jsp
	 */
	public String save(){

		for(int i=1;i<=150;i++){
			commonMsgService.saveElecCommonMsg(elecMsg);
			request.getSession().setAttribute("percent", (double)i/150*100);//存放计算的百分比
		}
		//线程结束时，清空当前session
		request.getSession().removeAttribute("percent");
		return "save";
	}

	/**
	 * 
	* @Name: progressBar（方法的名称）
	* @Description:使用ajax计算返回页面的百分比数量（方法的描述）
	* @Author: 滕一帆（作者）
	* @Version: V1.00 （版本号）
	* @Date:2019年11月13日 下午6:29:53 
	* @Parameters: null
	* @Return: null
	 */
	public String progressBar() throws Exception{
		//从session中获取操作方法中计算的百分比
		Double percent = (Double) request.getSession().getAttribute("percent");
		String res = "";
		//此时说明操作的业务方法仍然继续在执行
		if(percent!=null){
			//计算的小数，四舍五入取整
			int percentInt = (int) Math.rint(percent); 
			res = "<percent>" + percentInt + "</percent>";
		}
		//此时说明操作的业务方法已经执行完毕，session中的值已经被清空
		else{
			//存放百分比
			res = "<percent>" + 100 + "</percent>";
		}
		//定义ajax的返回结果是XML的形式
		PrintWriter out = response.getWriter();
		response.setContentType("text/xml");
		response.setHeader("Cache-Control", "no-cache");
		//存放结果数据，例如：<response><percent>88</percent></response>
		out.println("<response>");
		out.println(res);
		out.println("</response>");
		out.close();
		return null;
	}

}
